package com.tiancheng.trade.payment.service;

import com.tiancheng.trade.commom.core.data.PageInfo;
import com.tiancheng.trade.payment.model.PaymentChannel;
import com.tiancheng.trade.payment.vo.admin.PaymentChannelAddVO;
import com.tiancheng.trade.payment.vo.admin.PaymentChannelReqVO;
import com.tiancheng.trade.payment.vo.api.res.PaymentChannelResVO;

import java.util.List;

/**
 * 支付渠道
 * @author su
 *
 */
public interface PaymentChannelService {

	/**
	 * 根据id获取支付渠道
	 * @param id
	 * @return
	 */
    PaymentChannel get(Long id);

    /**
     * 获取所有支付渠道
     */
    List<PaymentChannel> getAll();

    /**
     * 获取所有支付渠道(转换)
     */
    List<PaymentChannelResVO> getAllConvert();

    /**
     * 根据支付渠道编码获取支付渠道
     * @param paymentChannelCode
     * @return
     */
    PaymentChannel getByPaymentChannelCode(String paymentChannelCode);

    /**
     * 根据支付渠道编码获取支付渠道(转换)
     * @param paymentChannelCode
     * @return
     */
    PaymentChannelResVO getByPaymentChannelCodeConvert(String paymentChannelCode);

    /**
     * 添加支付渠道
     * @param paymentChannel
     * @return
     */
    long add(PaymentChannelAddVO paymentChannel);

    /**
     * 分页查询支付渠道
     * @param params
     * @return
     */
    PageInfo findList(PaymentChannelReqVO params);
}
